<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    /* 
        已知字符串 var str = "abcacd" 编程实现以下功能。
        a. 去重  "abcd"
        b. 统计每个字符出现的次数，结果显示 a 2、b 1、c 2、d1
        c. (原始字符串：var str = "aaaabbbbbbbccdaaaaa"  压缩统计后：a4b7c2d1a5)
    */
    // var str = "abcacd";

    // 去重
    // var newStr = "";
    // for (var char of str) {
    //     if (!newStr.includes(char)) {
    //         newStr += char;
    //     }
    // }
    // console.log(newStr);

    // 统计
    // var countStr = "";
    // for (var i = 0; i < newStr.length; i++) { // 遍历去重后的新字符串(每个字符都是唯一的)
    //     var count = 0;
    //     for(var j = 0;j<str.length; j++){ // 遍历str(abcacd)
    //         if(newStr.charAt(i) === str.charAt(j)){ // 那去重后的每一个字符和str中的每一个字符比较
    //             count ++;
    //         }
    //     }
    //     console.log(newStr.charAt(i),count);
    //     countStr += newStr.charAt(i) + count;
    // }
    // console.log(countStr);


    /* var str = "abcacd";

    var obj = {};

    for(var char of str){ // char => "a" "b"  "c"
        // obj[char] = 1;  // obj["a"]

        // 对象取值 => 取不存在属性:undefined  存在的属性:返回属性值
        if(obj[char] == undefined){  
            obj[char] = 1;
        }else{
            obj[char] ++;
        }
    }
    console.log(obj);

    var newStr = "";
    var countStr = "";
    for(var key in obj){
        console.log(key,obj[key]);
        newStr += key;
        countStr += key + obj[key];
    }
    console.log(newStr);
    console.log(countStr); */



    // 压缩统计: 取当前的和它的后一个比较

    var str = "aaaabbbbbbbccdaaaaa";   // 压缩统计后：a4b7c2d1a5
    var count = 0; // 1 2 3 

    var countStr = "";

    for(var i = 0;i<str.length;i++){
        //当前 str[i] => str.charAt(i)
        //后一个 str[i+1] => str.charAt(i+1)

        if(str.charAt(i) === str.charAt(i+1)){
            count ++;
        }else{
            count ++;
            console.log(str.charAt(i),count);

            countStr += str.charAt(i) + count;

            count = 0;

        }
    }
    console.log(countStr);






</script>

</html>